package com.smart.sso.server.service;

import java.util.List;

import com.smart.mvc.service.mybatis.Service;
import com.smart.sso.server.model.LoginIPLimit;

/**
 * 用户登录IP限制接口
 * 
 * @author YM
 */

public interface LoginIPLimitService extends Service<LoginIPLimit, Integer>{

	/**
	 * 根据用户ID集合删除映射
	 * @param idList 用户ID集合
	 * @return
	 */
	public void deleteByUserIds(List<Integer> idList);
	
	/**
	 * 根据用户ID查询
	 * @param userId 用户ID
	 * @return
	 */
	public List<LoginIPLimit> findByUserId(Integer userId);
	
	/**
	 * 验证用户IP是否允许登陆
	 * @param userId 用户ID
	 * @param ip 用户登陆IP
	 */
	public boolean isIpPermitted(Integer userId, String ip);
	
	/**
	 * 保存用户IP限制到数据库
	 * @param userId 用户ID
	 * @param ipRanges 用户登陆IP范围
	 */
	public void save(Integer userId, String ipRanges);
}
